/**
 * @file        dmem_log.h
 * @author      Shadow3D (ShadowThreeD@outlook.com)
 * @brief 
 * @version     0.1
 * @date        2022-01-19
 * 
 * @copyright Copyright (c) 2022
 * 
 */
#ifndef DMEM_LOG_H__
#define DMEM_LOG_H__

#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <string.h>

#define DMEM_DBG     1
#define DBG_VER     1

/**
 * @brief       basic type define
 * 
 */
typedef unsigned char   INT8U;
typedef signed short    INT16S;
typedef signed int      INT32S;

/**
 * @brief       struct for donamical memory manage.
 * 
 */
typedef struct _dmem_log {
    struct _dmem_log *p_stNext;
    const void *p_vDMem;
    INT32S iSize;
} DMEM_LOG;

void InitDMemLog(void);
void *MallocExt(INT32S iSize);
void FreeExt(void *p_vMem);
void PrintDMem(void);

#endif